home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Utilities Professional 1-1500
/
Utilities Professional 1-1500 (1994)(WPD)[!].iso
/
12511500
/
var1432.dms
/
var1432.adf
/
NDUK-V40.lha
/
V40
/
include
/
rexx
/
rxslib.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-15
|
4KB
|
108 lines
#ifndef REXX_RXSLIB_H
#define REXX_RXSLIB_H
/*
** $VER: rxslib.h 1.6 (8.11.91)
** Includes Release 40.15
**
** The header file for the REXX Systems Library
**
** (C) Copyright 1987,1988,1989,1990 William S. Hawes
** (C) Copyright 1990-1993 Commodore-Amiga, Inc.
** All Rights Reserved
*/
#ifndef REXX_STORAGE_H
#include "rexx/storage.h"
#endif
#define RXSNAME "rexxsyslib.library"
#define RXSDIR "REXX"
#define RXSTNAME "ARexx"
/* The REXX systems library structure. This should be considered as */
/* semi-private and read-only, except for documented exceptions. */
struct RxsLib {
struct Library rl_Node; /* EXEC library node */
UBYTE rl_Flags; /* global flags */
UBYTE rl_Shadow; /* shadow flags */
APTR rl_SysBase; /* EXEC library base */
APTR rl_DOSBase; /* DOS library base */
APTR rl_IeeeDPBase; /* IEEE DP math library base */
LONG rl_SegList; /* library seglist */
LONG rl_NIL; /* global NIL: filehandle */
LONG rl_Chunk; /* allocation quantum */
LONG rl_MaxNest; /* maximum expression nesting */
struct NexxStr *rl_NULL; /* static string: NULL */
struct NexxStr *rl_FALSE; /* static string: FALSE */
struct NexxStr *rl_TRUE; /* static string: TRUE */
struct NexxStr *rl_REXX; /* static string: REXX */
struct NexxStr *rl_COMMAND; /* static string: COMMAND */
struct NexxStr *rl_STDIN; /* static string: STDIN */
struct NexxStr *rl_STDOUT; /* static string: STDOUT */
struct NexxStr *rl_STDERR; /* static string: STDERR */
STRPTR rl_Version; /* version string */
STRPTR rl_TaskName; /* name string for tasks */
LONG rl_TaskPri; /* starting priority */
LONG rl_TaskSeg; /* startup seglist */
LONG rl_StackSize; /* stack size */
STRPTR rl_RexxDir; /* REXX directory */
STRPTR rl_CTABLE; /* character attribute table */
STRPTR rl_Notice; /* copyright notice */
struct MsgPort rl_RexxPort; /* REXX public port */
UWORD rl_ReadLock; /* lock count */
LONG rl_TraceFH; /* global trace console */
struct List rl_TaskList; /* REXX task list */
WORD rl_NumTask; /* task count */
struct List rl_LibList; /* Library List header */
WORD rl_NumLib; /* library count */
struct List rl_ClipList; /* ClipList header */
WORD rl_NumClip; /* clip node count */
struct List rl_MsgList; /* pending messages */
WORD rl_NumMsg; /* pending count */
struct List rl_PgmList; /* cached programs */
WORD rl_NumPgm; /* program count */
UWORD rl_TraceCnt; /* usage count for trace console */
WORD rl_avail;
};
/* Global flag bit definitions for RexxMaster */
#define RLFB_TRACE RTFB_TRACE /* interactive tracing? */
#define RLFB_HALT RTFB_HALT /* halt execution? */
#define RLFB_SUSP RTFB_SUSP /* suspend execution? */
#define RLFB_STOP 6 /* deny further invocations */
#define RLFB_CLOSE 7 /* close the master */
#define RLFMASK (1<<RLFB_TRACE) | (1<<RLFB_HALT) | (1<<RLFB_SUSP)
/* Initialization constants */
#define RXSCHUNK 1024 /* allocation quantum */
#define RXSNEST 32 /* expression nesting limit */
#define RXSTPRI 0 /* task priority */
#define RXSSTACK 4096 /* stack size */
/* Character attribute flag bits used in REXX. */
#define CTB_SPACE 0 /* white space characters */
#define CTB_DIGIT 1 /* decimal digits 0-9 */
#define CTB_ALPHA 2 /* alphabetic characters */
#define CTB_REXXSYM 3 /* REXX symbol characters */
#define CTB_REXXOPR 4 /* REXX operator characters */
#define CTB_REXXSPC 5 /* REXX special symbols */
#define CTB_UPPER 6 /* UPPERCASE alphabetic */
#define CTB_LOWER 7 /* lowercase alphabetic */
/* Attribute flags */
#define CTF_SPACE (1 << CTB_SPACE)
#define CTF_DIGIT (1 << CTB_DIGIT)
#define CTF_ALPHA (1 << CTB_ALPHA)
#define CTF_REXXSYM (1 << CTB_REXXSYM)
#define CTF_REXXOPR (1 << CTB_REXXOPR)
#define CTF_REXXSPC (1 << CTB_REXXSPC)
#define CTF_UPPER (1 << CTB_UPPER)
#define CTF_LOWER (1 << CTB_LOWER)
#endif